package compilador.semantico;

import compilador.lexico.TipoToken;
import java.util.List;

/**
 * Representa as propriedades específicas dos símbolos da tabela de símbolos que
 * têm a categoria 'procedimento'.
 *
 * @author Carlos H V Pinto
 * @author Lucas S Bueno
 */
public class PropriedadesProcedimento extends PropriedadesSimboloBasico {

    private int qtdeParametros;
    private List<String> tiposParametros;
    private List<String> nomesParametros;

    public PropriedadesProcedimento(String lexema) {
        super(lexema, TipoToken.Identificador, CategoriaSimbolo.Procedimento);
    }

    public PropriedadesProcedimento(String lexema, TipoToken tipoToken, CategoriaSimbolo categoria) {
        super(lexema, tipoToken, categoria);
    }

    public List<String> getNomesParametros() {
        return nomesParametros;
    }

    public void setNomesParametros(List<String> nomesParametros) {
        this.nomesParametros = nomesParametros;
    }   

    public int getQtdeParametros() {
        return qtdeParametros;
    }

    public List<String> getTiposParametros() {
        return tiposParametros;
    }

    public void setQtdeParametros(int qtdeParametros) {
        this.qtdeParametros = qtdeParametros;
    }

    public void setTiposParametros(List<String> tiposParametros) {
        this.tiposParametros = tiposParametros;
    }
}
